//package com.tele.config;
//
//import cn.dev33.satoken.interceptor.SaInterceptor;
//import cn.dev33.satoken.stp.StpInterface;
//import com.tele.mapper.LoginMapper;
//import lombok.RequiredArgsConstructor;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.stereotype.Component;
//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
//
//import java.io.Serializable;
//import java.util.ArrayList;
//import java.util.List;
//
//@Configuration
//public class SaTokenConfig implements WebMvcConfigurer {
//    // 注册 Sa-Token 拦截器，打开注解式鉴权功能
//    @Override
//    public void addInterceptors(InterceptorRegistry registry) {
//        // 注册 Sa-Token 拦截器，打开注解式鉴权功能
//        registry.addInterceptor(new SaInterceptor()).addPathPatterns("/**");
//    }
//}
//@Component    // 保证此类被 SpringBoot 扫描，完成 Sa-Token 的自定义权限验证扩展
//@RequiredArgsConstructor
//class StpInterfaceImpl implements StpInterface {
//    final LoginMapper loginMapper;
//
//    /**
//     * 返回一个账号所拥有的权限码集合
//     */
//    @Override
//    public List<String> getPermissionList(Object loginId, String loginType) {
//        return null;
//    }
//
//    /**
//     * 返回一个账号所拥有的角色标识集合 (权限与角色可分开校验)
//     */
//    @Override
//    public List<String> getRoleList(Object loginId, String loginType) {
//        // 本 list 仅做模拟，实际项目中要根据具体业务逻辑来查询权限
//        List<String> list = new ArrayList<String>();
//        if (loginMapper.selectById((Serializable) loginId).getIsAdmin()) {
//            System.out.println("yes, id " + loginId + "is Admin");
//            list.add("admin");
//        } else System.out.println("no, id " + loginId + "is not Admin");
//        return list;
//    }
//
//}
//
